package com.ruoyi.finance.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 资产类别设置对象 asset_categories
 * 
 * @author 李伟
 * @date 2025-03-05
 */
public class AssetCategories extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 资产类别编号 */
    @Excel(name = "资产类别编号")
    private Long assetCategoryCode;

    /** 资产类别名称 */
    @Excel(name = "资产类别名称")
    private String assetCategoryName;

    /** 资产属性 */
    @Excel(name = "资产属性")
    private Long assetAttribute;

    /** 摊销方法 */
    private Long amortizationMethod;

    /** 折旧方法 */
    private Long depreciationMethod;

    /** 预计使用年限 */
    @Excel(name = "预计使用年限")
    private Long expectedUsefulYears;

    /** 使用月份 */
    @Excel(name = "使用月份")
    private Long usedMonths;

    /** 预计净残值率 */
    @Excel(name = "预计净残值率")
    private BigDecimal expectedResidualValueRate;

    /** 资产科目 */
    @Excel(name = "资产科目")
    private Long fixedAssetsAccount;

    /** 累计折旧科目 */
    private Long accumulatedDepreciationAccount;

    /** 累计摊销科目 */
    private Long cumulativeAmortizationAccounts;

    /** 状态 */
    @Excel(name = "状态")
    private Long status;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setAssetCategoryCode(Long assetCategoryCode) 
    {
        this.assetCategoryCode = assetCategoryCode;
    }

    public Long getAssetCategoryCode() 
    {
        return assetCategoryCode;
    }
    public void setAssetCategoryName(String assetCategoryName) 
    {
        this.assetCategoryName = assetCategoryName;
    }

    public String getAssetCategoryName() 
    {
        return assetCategoryName;
    }
    public void setAssetAttribute(Long assetAttribute) 
    {
        this.assetAttribute = assetAttribute;
    }

    public Long getAssetAttribute() 
    {
        return assetAttribute;
    }
    public void setAmortizationMethod(Long amortizationMethod) 
    {
        this.amortizationMethod = amortizationMethod;
    }

    public Long getAmortizationMethod() 
    {
        return amortizationMethod;
    }
    public void setDepreciationMethod(Long depreciationMethod) 
    {
        this.depreciationMethod = depreciationMethod;
    }

    public Long getDepreciationMethod() 
    {
        return depreciationMethod;
    }
    public void setExpectedUsefulYears(Long expectedUsefulYears) 
    {
        this.expectedUsefulYears = expectedUsefulYears;
    }

    public Long getExpectedUsefulYears() 
    {
        return expectedUsefulYears;
    }
    public void setUsedMonths(Long usedMonths) 
    {
        this.usedMonths = usedMonths;
    }

    public Long getUsedMonths() 
    {
        return usedMonths;
    }
    public void setExpectedResidualValueRate(BigDecimal expectedResidualValueRate) 
    {
        this.expectedResidualValueRate = expectedResidualValueRate;
    }

    public BigDecimal getExpectedResidualValueRate() 
    {
        return expectedResidualValueRate;
    }
    public void setFixedAssetsAccount(Long fixedAssetsAccount) 
    {
        this.fixedAssetsAccount = fixedAssetsAccount;
    }

    public Long getFixedAssetsAccount() 
    {
        return fixedAssetsAccount;
    }
    public void setAccumulatedDepreciationAccount(Long accumulatedDepreciationAccount) 
    {
        this.accumulatedDepreciationAccount = accumulatedDepreciationAccount;
    }

    public Long getAccumulatedDepreciationAccount() 
    {
        return accumulatedDepreciationAccount;
    }
    public void setCumulativeAmortizationAccounts(Long cumulativeAmortizationAccounts) 
    {
        this.cumulativeAmortizationAccounts = cumulativeAmortizationAccounts;
    }

    public Long getCumulativeAmortizationAccounts() 
    {
        return cumulativeAmortizationAccounts;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("assetCategoryCode", getAssetCategoryCode())
            .append("assetCategoryName", getAssetCategoryName())
            .append("assetAttribute", getAssetAttribute())
            .append("amortizationMethod", getAmortizationMethod())
            .append("depreciationMethod", getDepreciationMethod())
            .append("expectedUsefulYears", getExpectedUsefulYears())
            .append("usedMonths", getUsedMonths())
            .append("expectedResidualValueRate", getExpectedResidualValueRate())
            .append("fixedAssetsAccount", getFixedAssetsAccount())
            .append("accumulatedDepreciationAccount", getAccumulatedDepreciationAccount())
            .append("cumulativeAmortizationAccounts", getCumulativeAmortizationAccounts())
            .append("status", getStatus())
            .append("remarks", getRemarks())
            .toString();
    }
}
